package com.yuwei.image.picasso

import android.content.Context
import android.view.View
import android.widget.ImageView
import com.squareup.picasso.Picasso
import com.yuwei.image.R

/**
 * Picasso图片加载框架
 * 相对于不足: 不支持跳过内存缓存 2 没有磁盘缓存策略 3 图片转换需要自己编写 4 需要自己管理回收Bitmap
 */
object PicassoLoader {
    /**
     * 加载普通图片
     */
    fun loadImage(imageView: ImageView, url:String){
        Picasso.get().load(url)
            .error(R.drawable.img)
            .placeholder(R.drawable.img)
            .into(imageView)
    }

    /**
     * 加载圆形图片
     */
    fun loadCircleImage(context: Context, imageView: ImageView, url:String){
        Picasso.get().load(url)
            .error(R.drawable.img)//图片网址错误时。会显示默认图片
            .placeholder(R.drawable.img)//占位符 当图片还未加载出来时显示  图片加载出来后显示正确图片
            .centerCrop()
            .transform(PicassoCircleCrop())
            .into(imageView)
    }

    /**
     * 加载圆角图片
     */

    fun loadCornerImage(context: Context, imageView: ImageView, url:String, radius:Int){
        Picasso.get().load(url)
            .error(R.drawable.img)//图片网址错误时。会显示默认图片
            .placeholder(R.drawable.img)//占位符 当图片还未加载出来时显示  图片加载出来后显示正确图片
            .centerCrop()
            .transform(PicassoCircleCrop())
            .into(imageView)
    }

    /**
     * 加载本地资源图片
     */
    fun loadResImage(view: View, resId: Int, imageView: ImageView) {
        Picasso.get().load(resId)
            .error(R.drawable.img)//图片网址错误时。会显示默认图片
            .placeholder(R.drawable.img)//占位符 当图片还未加载出来时显示  图片加载出来后显示正确图片
            .into(imageView)
    }
}